/*
  学习目标：使用Redux创建仓库store，并且获取状态
  步骤：
    dispatch和action去修改状态,修改count的值
*/

import { createStore } from 'redux';

//  2. 导入创建函数，创建store。
// 💥从reducer函数的第二个形参中接收action
// 💥通过reducer负责修改state,新值覆盖旧值,返回数值
const store = createStore(function (state = { count: 0 }, action) {
  console.warn('我进来了仓库', action);
  if (action.type === 'add') {
    return {
      ...state,
      count: state.count + 1,
    };
  }
  if (action.type === 'des') {
    return {
      ...state,
      count: state.count - 1,
    };
  }
});

console.log('第一次获取state', store.getState());
store.dispatch({ type: 'add' });
console.log('第2次获取state', store.getState());
store.dispatch({ type: 'des' });
console.log('第3次获取state', store.getState());
